home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 9 / FM Towns Free Software Collection 9.iso / taropyon / silib / inc / sikb.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-16  |  2.2 KB  |  77 lines

  1. /*************************************************************************
  2. *    "sikb.h"
  3. *-------------------------------------------------------------------------
  4. *    Keyboard library
  5. *                                            Copyright (c) 1993, TaroPYON
  6. *************************************************************************/
  7.  
  8. #ifndef    _SIKB_H
  9. #define    _SIKB_H
  10.  
  11. #ifndef    _SITYPES_H
  12. #    include    <sitypes.h>
  13. #endif
  14. #ifndef    _SIDEFS_H
  15. #    include    <sidefs.h>
  16. #endif
  17.  
  18. typedef    struct        /* キーデータ構造体    */
  19. {
  20.     USHORT    ch;
  21.     USHORT    ec;
  22. } KBDAT_T;
  23.  
  24.  
  25. typedef    struct    /* キーボード情報構造体    */
  26. {
  27.     int                page;                /* 表示ページ            */
  28.     size_t            bufSiz;                /* バッファの大きさ        */
  29.     size_t            bufLen;                /* 有効文字数            */
  30.     size_t            bufPos;                /* 現在位置                */
  31.     size_t            readPos;            /* 読み込み位置            */
  32.     KBDAT_T            *kbBuf;
  33.     unsigned int    att;                /* 属性                    */
  34.     int                hitCnt;                /* キー入力チェック        */
  35.  
  36.     int                fepMode;            /* FEP 変換モード        */
  37.     int                fepIniFlag;            /* 初期化フラグ            */
  38.     int                fepDspFlag;            /* FEP 表示フラグ        */
  39.     POINT_T             fepPos;            /* 変換位置                */
  40.     char            *fepStr;            /* 文字列取得ポインタ    */
  41.     void            (*miLoopFunc)();    /* 未確定文字ループ用    */
  42.     int                colTbl[16];            /* カラーテーブル        */
  43. } SIKB_T;
  44.  
  45. extern    SIKB_T    *SiKb;
  46.  
  47. #define    KB_ATT_REPCUT_IGN    (0x0000_0001)    /* リピートカット処理をしない    */
  48.  
  49. #define    SIKB_INITMD_SCN    (1)
  50. #define    SIKB_INITMD_KB    (2)
  51.  
  52. /*------------------------------------------------------------------------
  53.     KB_ATT_REPEAT_CUT はサイドワーク等から文字列を受け取るときには
  54.     無効にすること
  55. ------------------------------------------------------------------------*/
  56.  
  57. extern    USHORT    KbEcTbl[];
  58.  
  59. extern int            KB_initSet( int page, int mode );
  60. extern int            KB_init( int page, int mode );
  61. extern void            KB_term(void);
  62. extern int            KB_kbhit(void);
  63. extern void            KB_kanDsp(int onoff);
  64. extern int            KB_kanGetMode(void);
  65. extern void            KB_kanSetMode(int md);
  66. extern int            KB_getkey( UINT *ec );
  67. extern int            KB_inpchk( UINT *ec );
  68. extern void            KB_clrbuf(void);
  69. extern int            KB_setKanPos(int x, int y);
  70. extern int            KB_setBufSiz( SIKB_T *kb, size_t siz );
  71. extern unsigned int    KB_getShift(void);
  72. extern UINT            KB_tenKey( UINT ec );
  73. extern void            KB_sysPause(void);
  74. extern void            KB_sysContinue(void);
  75.  
  76. #endif
  77.